Package-level declarations

Types

Link copied to clipboard

Scroll-direction state for StylishModernScreen. progress tracks the finger 1:1 while scrolling (0 = shown, 1 = hidden) and settles to the nearest edge when the gesture or fling ends.

Link copied to clipboard

The side a floating layer exits toward when hidden.

Functions

Link copied to clipboard
fun BarChartSection(title: String, data: List<BarChartData>, contentDescriptionPrefix: String, emptyLabel: String, modifier: Modifier = Modifier, barColor: Color = MaterialTheme.colorScheme.primary, gridColor: Color = MaterialTheme.colorScheme.outlineVariant, chartHeight: Dp = StylishTheme.dimensions.barChartHeight, topRadius: Dp = 4.dp, labelTextSize: Dp = 10.dp, gridLineCount: Int = 4)

A page section that pairs a StylishSection heading with a SimpleBarChart.

Link copied to clipboard
fun LineChartSection(title: String, data: List<LineChartData>, contentDescriptionPrefix: String, emptyLabel: String, modifier: Modifier = Modifier, lineColor: Color = MaterialTheme.colorScheme.primary, fillColor: Color = MaterialTheme.colorScheme.primary.copy(alpha = 0.1f), pointColor: Color = MaterialTheme.colorScheme.primary, gridColor: Color = MaterialTheme.colorScheme.outlineVariant, chartHeight: Dp = StylishTheme.dimensions.lineChartHeight, strokeWidth: Dp = 2.5.dp, pointRadius: Dp = 4.dp, pointInnerRadius: Dp = 2.dp, labelTextSize: Dp = 10.dp, gridLineCount: Int = 5, maxLabelCount: Int = 6)

A page section that pairs a StylishSection heading with a SimpleLineChart.

Link copied to clipboard
fun StylishAdaptiveNavigation(items: List<StylishNavigationItem>, modifier: Modifier = Modifier, breakpoints: StylishWindowBreakpoints = StylishWindowBreakpoints(), content: @Composable () -> Unit)

Responsive navigation orchestrator that chooses a bottom bar for compact windows and a navigation rail for medium/expanded windows.

Link copied to clipboard
fun StylishBottomAppBar(actions: @Composable RowScope.() -> Unit, modifier: Modifier = Modifier, floatingActionButton: @Composable () -> Unit? = null, containerColor: Color = MaterialTheme.colorScheme.surfaceContainerHigh, contentColor: Color = contentColorFor(containerColor), tonalElevation: Dp = BottomAppBarDefaults.ContainerElevation, contentPadding: PaddingValues = BottomAppBarDefaults.ContentPadding, windowInsets: WindowInsets = BottomAppBarDefaults.windowInsets)

A Material 3 bottom app bar with Stylish theme defaults.

Link copied to clipboard
fun StylishBottomSheetScaffold(sheetContent: @Composable ColumnScope.() -> Unit, modifier: Modifier = Modifier, scaffoldState: BottomSheetScaffoldState = rememberBottomSheetScaffoldState(), sheetPeekHeight: Dp = BottomSheetDefaults.SheetPeekHeight, sheetMaxWidth: Dp = BottomSheetDefaults.SheetMaxWidth, sheetShape: Shape = RoundedCornerShape( topStart = StylishTheme.dimensions.connectedCornerRadius, topEnd = StylishTheme.dimensions.connectedCornerRadius, ), sheetContainerColor: Color = MaterialTheme.colorScheme.surface.copy(alpha = 0.9f), sheetContentColor: Color = contentColorFor(sheetContainerColor), sheetTonalElevation: Dp = 0.dp, sheetShadowElevation: Dp = BottomSheetDefaults.Elevation, sheetDragHandle: @Composable () -> Unit? = null, sheetSwipeEnabled: Boolean = true, topBar: @Composable () -> Unit? = null, snackbarHost: @Composable (SnackbarHostState) -> Unit = { SnackbarHost(it) }, containerColor: Color = MaterialTheme.colorScheme.surface, contentColor: Color = contentColorFor(containerColor), content: @Composable (PaddingValues) -> Unit)

A scaffold with a bottom sheet, wrapping the Material 3 BottomSheetScaffold with Stylish defaults.

Link copied to clipboard
fun StylishCenterAlignedTopAppBar(title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = stylishTopAppBarColors(), scrollBehavior: TopAppBarScrollBehavior? = null, titleContentColor: Color? = null, navigationIconContentColor: Color? = null, actionIconContentColor: Color? = null)

A center-aligned Material 3 top app bar with Stylish theme defaults.

Link copied to clipboard
fun StylishFloatingBottomBar(actions: @Composable RowScope.() -> Unit, modifier: Modifier = Modifier, floatingActionButton: @Composable () -> Unit? = null, containerColor: Color = MaterialTheme.colorScheme.surface.copy(alpha = 0.9f), contentColor: Color = MaterialTheme.colorScheme.onSurface, tonalElevation: Dp = BottomAppBarDefaults.ContainerElevation, contentPadding: PaddingValues = BottomAppBarDefaults.ContentPadding, windowInsets: WindowInsets = BottomAppBarDefaults.windowInsets)

Floating bottom bar with optional embedded FAB and action slots.

Link copied to clipboard
fun StylishFloatingTopBar(title: @Composable () -> Unit, navigation: @Composable () -> Unit? = null, actions: @Composable () -> Unit? = null, modifier: Modifier = Modifier, shape: Shape = RoundedCornerShape(StylishTheme.dimensions.floatingCornerRadius), containerColor: Color = MaterialTheme.colorScheme.surface.copy(alpha = 0.9f), contentColor: Color = MaterialTheme.colorScheme.onSurface, border: BorderStroke? = BorderStroke( StylishTheme.dimensions.outlineWidth, MaterialTheme.colorScheme.outlineVariant, ), tonalElevation: Dp = 4.dp, shadowElevation: Dp = StylishTheme.dimensions.floatingElevation, height: Dp = 56.dp, topPadding: Dp = StylishTheme.dimensions.itemSpacing, bottomPadding: Dp = StylishTheme.dimensions.contentSpacing, actionsSpacing: Dp = StylishTheme.dimensions.inlineSpacing, windowInsets: WindowInsets = WindowInsets(0.dp), visibilityState: VisibilityState = VisibilityState.AlwaysVisible)

Floating top bar with a centered title and edge action slots.

Link copied to clipboard
fun StylishFooter(content: @Composable () -> Unit = {}, leadingContent: @Composable () -> Unit? = null, trailingContent: @Composable () -> Unit? = null, modifier: Modifier = Modifier, shape: Shape = RoundedCornerShape(StylishTheme.dimensions.floatingCornerRadius), containerColor: Color = MaterialTheme.colorScheme.surfaceContainerHigh, contentColor: Color = MaterialTheme.colorScheme.onSurface, border: BorderStroke? = BorderStroke( StylishTheme.dimensions.outlineWidth, MaterialTheme.colorScheme.outlineVariant, ), tonalElevation: Dp = 4.dp, shadowElevation: Dp = StylishTheme.dimensions.floatingElevation, height: Dp = 56.dp, topPadding: Dp = StylishTheme.dimensions.contentSpacing, bottomPadding: Dp = StylishTheme.dimensions.itemSpacing, actionsSpacing: Dp = StylishTheme.dimensions.inlineSpacing, windowInsets: WindowInsets = WindowInsets.navigationBars, visibilityState: VisibilityState = VisibilityState.AlwaysVisible)

A floating page footer that hosts action slots at the bottom of the screen. Mirrors StylishHeader in visual language — rounded, elevated, with a hairline outline — and is designed to fill the bottomBar slot of StylishScaffold.

Link copied to clipboard
fun StylishHeader(title: @Composable () -> Unit, navigation: @Composable () -> Unit? = null, actions: @Composable () -> Unit? = null, modifier: Modifier = Modifier, shape: Shape = RoundedCornerShape(StylishTheme.dimensions.floatingCornerRadius), containerColor: Color = MaterialTheme.colorScheme.surface.copy(alpha = 0.9f), contentColor: Color = MaterialTheme.colorScheme.onSurface, border: BorderStroke? = BorderStroke( StylishTheme.dimensions.outlineWidth, MaterialTheme.colorScheme.outlineVariant, ), tonalElevation: Dp = 4.dp, shadowElevation: Dp = StylishTheme.dimensions.floatingElevation, height: Dp = 56.dp, topPadding: Dp = StylishTheme.dimensions.itemSpacing, bottomPadding: Dp = StylishTheme.dimensions.contentSpacing, actionsSpacing: Dp = StylishTheme.dimensions.inlineSpacing, windowInsets: WindowInsets = WindowInsets(0.dp), visibilityState: VisibilityState = VisibilityState.AlwaysVisible)

A floating page header that hosts navigation, title, and action slots.

Link copied to clipboard
fun StylishLargeTopAppBar(title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = stylishTopAppBarColors(), scrollBehavior: TopAppBarScrollBehavior? = null, titleContentColor: Color? = null, navigationIconContentColor: Color? = null, actionIconContentColor: Color? = null)

A large Material 3 top app bar with Stylish theme defaults.

Link copied to clipboard
fun StylishMediumTopAppBar(title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = stylishTopAppBarColors(), scrollBehavior: TopAppBarScrollBehavior? = null, titleContentColor: Color? = null, navigationIconContentColor: Color? = null, actionIconContentColor: Color? = null)

A medium Material 3 top app bar with Stylish theme defaults.

Link copied to clipboard
fun StylishModernScreen(modifier: Modifier = Modifier, header: @Composable () -> Unit, containerColor: Color = MaterialTheme.colorScheme.background, statusBarScrimColor: Color = Color.Transparent, hideOnScroll: Boolean = true, scrollHideState: StylishScrollHideState = rememberStylishScrollHideState(), listState: LazyListState = rememberLazyListState(), horizontalContentPadding: Dp = StylishTheme.dimensions.screenPadding, bottomContentPadding: Dp = 24.dp, floatingBottomCenter: @Composable () -> Unit? = null, floatingActionButton: @Composable () -> Unit? = null, content: LazyListScope.() -> Unit)

The modern full-screen page: a floating pinned header, a full-bleed lazy content list, and floating overlays — with the scroll behavior built in.

Link copied to clipboard
fun StylishPageContent(header: @Composable () -> Unit, listState: LazyListState = rememberLazyListState(), modifier: Modifier = Modifier, contentPadding: PaddingValues = PaddingValues(horizontal = StylishTheme.dimensions.screenPadding), headerSpacing: Dp = Dp.Unspecified, verticalArrangement: Arrangement.Vertical = Arrangement.Top, horizontalAlignment: Alignment.Horizontal = Alignment.Start, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, content: LazyListScope.() -> Unit)

A page-content pattern that renders a header as the first item of a scrollable lazy list.

Link copied to clipboard
fun StylishScaffold(modifier: Modifier = Modifier, header: @Composable () -> Unit, containerColor: Color = MaterialTheme.colorScheme.background, statusBarScrimColor: Color = Color.Transparent, hideOnScroll: Boolean = false, scrollHideState: StylishScrollHideState = rememberStylishScrollHideState(), floatingBottomCenter: @Composable () -> Unit? = null, floatingActionButton: @Composable () -> Unit? = null, content: @Composable (headerHeight: Dp) -> Unit)

Modern overlay-style page scaffold (the canonical Stylish scaffold). Content fills the entire screen and scrolls behind the pinned header; nothing is pushed down by padding.

Link copied to clipboard
fun StylishScrollHideVisibility(visible: Boolean, direction: StylishSlideDirection, modifier: Modifier = Modifier, content: @Composable () -> Unit)

Shows/hides floating content with the ModernScreen fade + half-slide animation (200ms). direction is the exit side: headers exit UP, FABs and bottom indicators exit DOWN.

Link copied to clipboard
fun StylishTopAppBar(title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit? = null, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = TopAppBarDefaults.topAppBarColors( containerColor = MaterialTheme.colorScheme.surfaceContainerHigh, scrolledContainerColor = MaterialTheme.colorScheme.surfaceContainer, ), scrollBehavior: TopAppBarScrollBehavior? = null, titleContentColor: Color? = null, navigationIconContentColor: Color? = null, actionIconContentColor: Color? = null)

A standard Material 3 top app bar with Stylish theme defaults.